Generative Adversarial Nets[Wasserstein GAN]

您所在的位置:网站首页 wasserstein距离 中文名 Generative Adversarial Nets[Wasserstein GAN]

Generative Adversarial Nets[Wasserstein GAN]

2024-06-04 19:20| 来源: 网络整理| 查看: 265

本文来自《Wasserstein GAN》,时间线为2017年1月,本文可以算得上是GAN发展的一个里程碑文献了,其解决了以往GAN训练困难,结果不稳定等问题。

1 引言

本文主要思考的是半监督学习。当我们说学习概率分布,典型的思维是学习一个概率密度。这通常是通过定义一个概率密度的参数化族\((P_{\theta})_{\theta\in R^d}\),然后基于样本最大似然:如果当前有真实样本\(\{x^{(i)}\}_{i=1}^m\),那么是问题转换成:

\[\underset{\theta\in R^d}{\max}\frac{1}{m}\sum_{i=1}^m\log P_{\theta}(x^{(i)}) \]

如果真实数据分布\(P_r\)有密度函数,且\(\mathbb{P}_{\theta}\)是参数化后密度\(P_{\theta}\)的分布。那么,理论上,就是最小化对应的KL散度\(KL(\mathbb{P}_r||\mathbb{P}_{\theta})\)。

基于上述描述,我们需要模型密度\(P_{\theta}\)是存在的。而在处理低维度流行支撑的分布时候,情况并非如我们所愿,此时模型流形和真实分布的支撑集可能没有不可忽略的交集部分[1],这也意味着KL距离是未定义的(简单说是无穷)。

一个简单的方法就是在模型分布上增加噪音项。这就是为什么在经典机器学习文献中所有的生成模型都会包含噪音项。在最简单的情况下,我们认为具有相对高带宽的高斯噪声可以覆盖所有示例。而在图像生成任务的模型下,这种噪声会降低样本质量并使其模糊。我们可以在最近的论文[23]中看到,当像素已经被标准化为在[0,1]范围内时,对于生成的图像中每个像素而言,最大似然的时候,加到模型上的噪音的最优标准差约为0.1。这是一个非常大量的噪音,当文献描述他们模型的样本时,他们不会增加噪音项到他们描述的似然数上。换句话说,对于该问题,增加噪音项明显是不正确的,但是的确需要让最大似然能够work。(增加了噪音,导致结果模糊,不增加又会让模型整体不work)。

不选择评估\(\mathbb{P}_r\)的密度(因为他可能并不存在),而是定义一个有着固定的分布\(p(z)\)的随机变量\(Z\),并将其传递给一个参数化函数\(g_{\theta}:\mathcal{Z}\rightarrow \mathcal{X}\)(比如一种神经网络),直接基于一种具体分布\(\mathbb{P}_{\theta}\)生成样本。通过改变\(\theta\),可以改变该分布,并让它接近真实的数据分布\(\mathbb{P}_r\)。这有2个优势:

不同于密度,该方法可以表示局限于低维流形的分布; 容易生成样本的能力通常比知道密度的数值更有用(例如,需要基于给定输入图像基础上让输出图像具有条件分布的图像超分辨率或者语义分割等任务)。

通常,在给定任意高维密度的情况下生成样本的任务在计算上是困难的。

变分自动编码器(Variational Auto-Encoders,VAE)和GAN是解决该方法很好的例子。因为VAE关注于样本的近似似然,它们共享标准模型的限制并需要使用额外的噪音项。GAN在定义目标函数的时候会更灵活,如Jensen-Shannon,和所有的f-散度[17],还有一下其他奇怪的组合[6]。另一方面,训练GAN是众所周知的困难和不稳定。

本文的关注点在各种方法去测量模型分布于真实分布之间的距离,或者说各种方法去定义距离或者散度\(\rho(\mathbb{P}_{\theta},\mathbb{P}_r)\)。这些距离之间最基本的不同就是它们对概率分布序列的收敛的影响。一个分布序列\((\mathbb{P}_t)_{t\in \mathbb{N}}\)有且仅有 存在另一个分布\(\mathbb{P}_{\infty}\),且\(\rho(\mathbb{P}_t,\mathbb{P}_{\infty})\)趋近于0时才收敛,而这有时候取决于距离\(\rho\)定义的准确与否。通俗的说,当距离\(\rho\)让分布序列更容易收敛的同时,也暗示这该距离会导致一个更弱的拓扑(更具体的说,就是当基于\(\rho\)的收敛序列是基于\(\rho'\)收敛序列的超集,那么就认为\(\rho\)表示的拓扑要弱于\(\rho'\)表示的拓扑)。

为了最优化参数\(\theta\),当然希望我们的模型分布\(\mathbb{P}_{\theta}\)定义能让映射\(\theta\rightarrow \mathbb{P}_{\theta}\)是连续的。连续意味着当一个参数序列\(\theta_t\)收敛到\(\theta\),分布\(\mathbb{P}_{{\theta}_t}\)同样收敛于\(\mathbb{P}_{\theta}\)。然而,分布\(\mathbb{P}_{{\theta}_t}\)收敛的概念依赖于计算分布之间的距离方式。距离越弱,就越容易定义一个连续的映射,将\(\theta\)空间映射到\(\mathbb{P}_{\theta}\)空间,因为该分布越容易收敛。我们关心映射\(\theta\rightarrow \mathbb{P}_{\theta}\)是连续的主要原因如下:

如果\(\rho\)是两个分布之间的距离,那么期望能够有个loss函数\(\theta\rightarrow \rho(\mathbb{P}_{\theta},\mathbb{P}_t)\)是连续的,这等效于让映射\(\theta\rightarrow \mathbb{P}_{\theta}\)连续。

本文贡献:

提供一个完整的理论分析,关于Earth Mover(EM)距离与其他流行的概率距离和散度在分布学习的过程中行为上的差异; 定义一种GAN形式,叫做Wassertein-GAN,其能最小化一个合理的有效的EM距离的近似,并理论上分析对应的最优问题的解决方案; 实验分析WGAN能够解决GAN训练的主要问题。具体的,训练WGAN不续约维护一个小心的关于生成器和判别器之间的平衡,也不需要网络结构的精心设计。GAN中常见的mode dropping现象也急剧下降。WGAN最具竞争力的是可以通过将判别器训练到最优来连续的评估EM距离。画出这些曲线不止对调试和超参数搜索有用,而且与观察到的样本质量相关。 2 不同的距离

令\(\mathcal{X}\)是一个紧凑的度量集(a compact metric set)(如图像\([0,1]^d\)的空间),\(\Sigma\)表示所有\(\mathcal{X}\)的Borel子集的集合。令\(Prob(\mathcal{X})\)表示定义在\(\mathcal{X}\)的概率测度空间。可以定义两个分布\(\mathbb{P}_r,\mathbb{P}_g\in Prob(\mathcal{X})\)之间的初始距离和散度:

Total Variation(TV) 距离

\[\delta(\mathbb{P}_r,\mathbb{P}_g)=\underset{A\in\sum}{sup} |\mathbb{P}_r(A)-\mathbb{P}_g(A)| \]

Kullback-Leibler(KL)散度

\[KL(\mathbb{P}_r||\mathbb{P}_g)=\int\log\left(\frac{P_r(x)}{P_g(x)} \right)P_r(x)d\mu(x) \]

其中,\(\mathbb{P}_r\)和\(\mathbb{P}_g\)假设为完全连续,因此就关于定义在\(\mathcal{X}\)上同样的测度\(\mu\)而言,有密度存在(记得一个概率分布\(\mathbb{P}_r\in Prob(\mathcal{X})\)有一个关于\(\mu\)的密度\(P_r(x)\),即\(\forall A\in \sum,\mathbb{P}_r(A)=\int_AP_R(x)d\mu(x)\),有且仅有关于\(\mu\)是完全连续的,即\(\forall A\in \sum,\mu(A)=0\Rightarrow \mathbb{P}_r(A)=0\))。KL散度是当存在满足\(P_g(x)= 0\)且\(P_r(x)> 0\)的点时,KL是不对称的,而且还可能值是无穷大。

Jensen-Shannon(JS)散度

\[JS(\mathbb{P}_r,\mathbb{P}_g)=KL(\mathbb{P}_r||\mathbb{P}_m)+KL(\mathbb{P}_g||\mathbb{P}_m) \]

这里\(\mathbb{P}_m\)是\(\frac{\mathbb{P}_r+\mathbb{P}_g}{2}\),该散度是对称的,且总是有定义的,因为可以选择\(\mu=\mathbb{P}_m\)

Earth-Mover(EM)距离或者称其为Wasserstein-1

\[\begin{align}W(\mathbb{P}_r,\mathbb{P}_g)=\underset{\gamma\in\prod(\mathbb{P}_r,\mathbb{P}_g)}{inf}\mathbb{E}_{(x,y)\sim \gamma}\left[ ||x-y||\right] \end{align} \]

这里\(\prod(\mathbb{P}_r,\mathbb{P}_g)\)表示所有联合分布\(\gamma(x,y)\)的集合,其边缘分布为\(\mathbb{P}_r\)和\(\mathbb{P}_g\)。直观的,\(\gamma(x,y)\)表示多少质量从\(x\)传输到\(y\),为了将分布\(\mathbb{P}_r\)变换成分布\(\mathbb{P}_g\)。EM距离是最优传输方案的cost

第三部分:Wasserstein距离的优越性质

引用自知乎的文章:\(\Pi (P_r, P_g)\)是\(P_r\)和\(P_g\)组合起来所有可能联合分布的集合,反过来说,\(\Pi (P_r, P_g)\)中每一个分布的边缘分布都是\(P_r\)和\(P_g\)。对于每一个可能的联合分布\(\gamma\)而言,可以从中采样\((x, y) \sim \gamma\)得到一个真实样本\(x\)和一个生成样本\(y\),并算出这对样本的距离\(||x-y||\),所以可以计算该联合分布\(\gamma\)下样本对距离的期望值\(\mathbb{E}_{(x, y) \sim \gamma} [||x - y||]\)。在所有可能联合分布中能够对这个期望值取到的下界\(\inf_{\gamma \sim \Pi (P_r, P_g)} \mathbb{E}_{(x, y) \sim \gamma} [||x - y||]\),就定义为Wasserstein距离。

直观上可以把\(\mathbb{E}_{(x, y) \sim \gamma} [||x - y||]\)理解为在\(\gamma\)这个“路径规划”下把\(P_r\)这堆“沙土”挪到\(P_g\)“位置”所需的“消耗”,而\(W(P_r, P_g)\)就是“最优路径规划”下的“最小消耗”,所以才叫Earth-Mover(推土机)距离。

Wasserstein距离相比KL散度、JS散度的优越性在于,即便两个分布没有重叠,Wasserstein距离仍然能够反映它们的远近。WGAN本作通过简单的例子展示了这一点。考虑如下二维空间中的两个分布\(P_1\)和\(P_2\),\(P_1\)在线段AB上均匀分布,\(P_2\)在线段CD上均匀分布,通过控制参数\(\theta\)可以控制着两个分布的距离远近。 此时容易得到(读者可自行验证)

\[KL(P_1 || P_2) = KL(P_1 || P_2) = \begin{cases} +\infty & \text{if $\theta \neq 0$} \\ 0 & \text{if $\theta = 0$} \end{cases}(突变)\]

\[JS(P_1||P_2)= \begin{cases} \log 2 & \text{if $\theta \neq 0$} \\ 0 & \text{if $\theta - 0$} \end{cases}(突变)\]

\[W(P_0, P_1) = |\theta|(平滑) \]

KL散度和JS散度是突变的,要么最大要么最小,Wasserstein距离却是平滑的,如果我们要用梯度下降法优化\theta这个参数,前两者根本提供不了梯度,Wasserstein距离却可以。类似地,在高维空间中如果两个分布不重叠或者重叠部分可忽略,则KL和JS既反映不了远近,也提供不了梯度,但是Wasserstein却可以提供有意义的梯度。

例子1(学习平行线) 令\(Z\sim U[0,1]\)表示单位间隔下的均匀分布,令\(\mathbb{P}_0\)是\((0,Z)\in\mathbb{R}^2\)的分布(0在x轴上,随机变量\(Z\)在y轴上),在穿过原点的直线垂直线上均匀分布。现在令\(g_{\theta}(z)=(\theta,z)\)是关于\(\theta\)的一个单一实参数。很容易得到如下式子:

\(W(\mathbb{P}_0,\mathbb{P}_{\theta})=|\theta|\) \(JS(\mathbb{P}_0,\mathbb{P}_{\theta})= \begin{cases} \log2, & if\, \theta \neq 0,\\ 0, & if \,\theta = 0, \end{cases}\) \(KL(\mathbb{P}_{\theta}||\mathbb{P}_0) = KL(\mathbb{P}_0||\mathbb{P}_{\theta})= \begin{cases} +\infty, & if \,\theta \neq 0,\\ 0, & if\, \theta = 0, \end{cases}\) \(\delta (\mathbb{P}_0,\mathbb{P}_{\theta})= \begin{cases} 1, & if \,\theta \neq 0,\\ 0, & if\, \theta = 0, \end{cases}\)

当\(\theta_t\rightarrow 0\),序列\((\mathbb{P}_{\theta_t})_{t\in\mathbb{N}}\)基于EM距离收敛到\(\mathbb{P}_0\),但是在JS,KL,逆KL,TV散度都不收敛。 图1展示基于EM和JS距离下的结果。

例子1的情况是我们可以基于一个低维度流行,在EM距离上通过梯度下降方式学到一个概率分布。这不能用其他距离和散度学到是因为他们生成的loss函数不是连续的。虽然这个简单的例子是基于不相交支撑集的特征分布,该结论在当支撑集包含相交部分但测度为0的集合上同样适用,当两个低维流形在一般位置相交时,恰好就是这种情况。 因为Wasserstein距离比JS距离要弱很多。现在有个疑问是:\(W(\mathbb{P}_r, \mathbb{P}_{\theta})\)是否是基于温和假设下在\(\theta\)上的连续损失函数?结论是的。

理论1 令\(\mathbb{P}_r\)是在\(\mathcal{X}\)上的固定分布,\(Z\)是一个基于令一个空间\(\mathcal{Z}\)的随机变量(如高斯),\(g:\mathcal{Z}\times \mathbb{R}^d\rightarrow \mathcal{X}\)是一个函数,\(g_{\theta}(z)\)中\(z\)表示坐标系第一个坐标,\(\theta\)表示第二个。令\(\mathbb{P}_{\theta}\)表示\(g_{\theta}(Z)\)的分布。然后:

如果\(g\)是在\(\theta\)上连续,则\(W(\mathbb{P}_r,\mathbb{P}_{\theta})\)也是; 如果\(g\)是局部Lipschitz,并且满足正则假设1,那么\(W(\mathbb{P}_r,\mathbb{P}_{\theta})\)也是处处连续,并且几乎处处可微; 假设1 令\(g:\mathcal{Z}\times\mathbb{R}^d\rightarrow \mathcal{X}\)是基于有限维度向量空间的局部Lipschitz。\(g_{\theta}(z)\)表示在坐标\((z,\theta)\)上的评估。我们说\(g\)在\(\mathcal{Z}\)上基于一个具体概率密度分布\(p\)满足假设1,是如果存在一个局部Lipschitz常量\(L(\theta,z)\),且:

\[\mathbb{E}_{z\sim p}[L(\theta,z)]


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3